package com.naiterui.ehp.bs.doctor.prodocl;

import java.io.Serializable;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 多媒体资源(音频、视频)的消息对象
 * 对应一个固定的JSON结构
 * <P>File name : Media.java </P>
 * <P>Author : zhouyanxin </P> 
 * <P>Date : 2015年6月19日 </P>
 */
public class Media implements IChecker, Serializable {

	/**
	 * 字段或域定义：<code>serialVersionUID</code>
	 */
	private static final long serialVersionUID = -1006639677873531820L;
	
	/**
	 * LOGGER
	 */
	private static final Logger LOGGER = LoggerFactory.getLogger(Media.class);

	/**
	 * 资源的相对位置
	 */
	private String path;
	
	/**
	 * 资源的时间长度 
	 * 单位：秒
	 */
	private Integer timeLength;
	
	/**
	 * 资源的大小
	 * 单位：字节
	 */
	private Integer size;
	
	/**
	 * 属性检测
	 * Media.selfValidate()<BR>
	 * <P>Author : zhouyanxin </P>  
	 * <P>Date : 2015年6月22日 </P>
	 * @return
	 */
	@Override
  public boolean selfValidate() {
		if(StringUtils.isEmpty(path)) {
			LOGGER.error("media message has no available path!");
			return false;
		}
		return true;
	}

	/**
	 * @return String 取得域 path 的方法。
	 */
	public String getPath() {
		return path;
	}

	/**
	 * @param path 对域 path 的设置方法.
	 */
	public void setPath(String path) {
		this.path = path;
	}

	/**
	 * @return Integer 取得域 timeLength 的方法。
	 */
	public Integer getTimeLength() {
		return timeLength;
	}

	/**
	 * @param timeLength 对域 timeLength 的设置方法.
	 */
	public void setTimeLength(Integer timeLength) {
		this.timeLength = timeLength;
	}

	/**
	 * @return Integer 取得域 size 的方法。
	 */
	public Integer getSize() {
		return size;
	}

	/**
	 * @param size 对域 size 的设置方法.
	 */
	public void setSize(Integer size) {
		this.size = size;
	}
}
